﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыОперацийПоступлениеТоваровУслугВНТТ
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"eb3e3cab-4e3f-4e56-906b-2fa17f55c518\", \"Представление\":\"ОтПоставщика\"}")]
		ОтПоставщика = 0,//от поставщика
		[EnumMember(Value = "{\"Ссылка\":\"edab1f14-fe0b-44af-b229-89d13e7dd6ac\", \"Представление\":\"ВнутреннееПеремещение\"}")]
		ВнутреннееПеремещение = 1,//внутреннее перемещение
	}
	public static partial class ВидыОперацийПоступлениеТоваровУслугВНТТ_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОтПоставщика = new Guid("a12f6b90-557f-18c5-4e56-4e3feb3e3cab");//от поставщика
		public static readonly Guid ВнутреннееПеремещение = new Guid("d18929b2-7d3e-acd6-44af-fe0bedab1f14");//внутреннее перемещение
		public static ВидыОперацийПоступлениеТоваровУслугВНТТ Получить(this ВидыОперацийПоступлениеТоваровУслугВНТТ Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийПоступлениеТоваровУслугВНТТ Получить(this ВидыОперацийПоступлениеТоваровУслугВНТТ Значение, Guid Ссылка)
		{
			if(Ссылка == ОтПоставщика)
			{
				return ВидыОперацийПоступлениеТоваровУслугВНТТ.ОтПоставщика;
			}
			else if(Ссылка == ВнутреннееПеремещение)
			{
				return ВидыОперацийПоступлениеТоваровУслугВНТТ.ВнутреннееПеремещение;
			}
			return ВидыОперацийПоступлениеТоваровУслугВНТТ.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийПоступлениеТоваровУслугВНТТ Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийПоступлениеТоваровУслугВНТТ Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийПоступлениеТоваровУслугВНТТ.ОтПоставщика: return ОтПоставщика;
				case ВидыОперацийПоступлениеТоваровУслугВНТТ.ВнутреннееПеремещение: return ВнутреннееПеремещение;
			}
			return Guid.Empty;
		}
	}
}